#include "UP_test.h"
#include "gd32f4xx.h"
#include "systick.h"
#include "UP_config.h"
#include "UP_USART.h"
#include "UP_ADC.h"
#include "UP_GPIO.h"

#define DEBUG // 打开这个将会使能adc_key下面的打印信息

void ADC_test(void)
{
    nvic_priority_group_set(NVIC_PRIGROUP_PRE2_SUB2); // 优先级分组

    systick_config(); // 滴答定时器初始化

    USART_init(
        USART0,         // USART USARTx(x=0,1,2,5) / UARTx(x=3,4,6,7)
        115200U,        // 波特率
        USART_WL_8BIT,  // 数据位
        USART_STB_1BIT, // 停止位
        USART_PM_NONE   // 校验位
    );

    ADC_init(ADC0);
    GPIO_Init(PC1, 5);
    GPIO_Init(PA1, 5);

    while (1) {
        uint16_t adcXValue = ADC_scan(ADC0, ADC_CHANNEL_1);  // 摇杆扫描
        uint16_t adcYValue = ADC_scan(ADC0, ADC_CHANNEL_11); // 摇杆扫描

#ifdef DEBUG
        printf("adcXValue is :%d ", adcXValue);
        printf("adcYValue is :%d \r\n", adcYValue);
#endif
    }
}